草庐IT

Docker 持久化

全部标签

docker-compose 搭建 elasticsearch8.2.0 + kibana 8.2.0

编写目的最近研究es,搭建环境的时候发现网上的很多文档大部分都是用来记录自己操作的,不过中间还是出现了很多问题,单独的文档还不能解决这些问题。我决定记录下来中间发生的问题,还有解决方案。还有在windows上docker-compose搭建的,原理一样不过不好操作中间很多问题可能和环境有关系,这里就不记录了,可能以后会记录,如果你在windows的docker上搭建的话,有问题也可以问,我这边已经踩过一次了。安装环境centos7docker20.10.6docker-compose1.18.0elasticsearch8.2.0kibana8.2.0步骤在root用户的目录下创建文件夹(不挂

docker: Error response from daemon: driver failed programming external connectivity on endpoint tomc

docker:Errorresponsefromdaemon:driverfailedprogrammingexternalconnectivityonendpointtomcat1(9d06342addfe339a1bbf0876ae4534410f58cc65fa0b3b6516f282224af68202):(iptablesfailed:iptables--wait-tnat-ADOCKER-ptcp-d0/0--dport8080-jDNAT--to-destination172.17.0.2:8080!-idocker0:iptables:Nochain/target/matchb

php - 使用运行 docker 容器的用户无法访问的 php 文件构建容器?

我需要知道是否有可能创建一个运行我的php应用程序的容器,其中一些php文件无法从docker外部访问。Dockersecret不适用于这种情况。有什么我可能忽略的吗?编辑:显然这是不可能的,我仍然需要详细解释为什么这是不可能的。Edit2:我们需要让运行容器的用户无法访问docker中的文件(因此无法读取代码)。打开端口80以通过apache执行/运行脚本不是问题。 最佳答案 我了解到您打算以某种方式通过Docker分发您的应用程序,并且不希望运行容器的用户读取PHP代码。这个问题不是Docker可以解决的,因为运行容器的用户可以

php - Heroku 上的 Docker PHP + Apache 部署崩溃

我正在尝试部署一个docker容器,尽管我尝试了多种选择,但它总是崩溃。在本地运行正常,在端口8080上。现在,我正在使用PHP+Apache。我的文件夹层次结构如下所示:docker-compose.ymlDockerfilewww.htaccessindex.php我的Dockerfile是这个:FROMphp:7.1-apacheCOPYwww/var/www/htmlRUNa2enmodrewriteRUNa2enmodlbmethod_byrequestsRUNserviceapache2restartEXPOSE80CMD["/usr/sbin/apache2ctl","-

php - 仅使用 docker-compose up 命令设置 Docker 容器

我有一项评估,其中我必须使用CakePHP创建一个Docker容器。我已经有一个带有CakePHP的工作Docker容器,我为我的容器运行以下命令:docker-composebuilddocker-composeruncakephpcomposerinstall--no-interactiondocker-composeruncakephpbin/cakemigrationsmigratedocker-composeruncakephpbin/cakemigrationsseeddocker-composeup目标是将流程缩减为仅运行单个命令docker-composeup即可开始测

php - 在 HTTP 请求之间具有持久状态的模型

我想创建一个Web应用程序,其模型在HTTP请求之间保持不变。据我了解,像PHP这样的语言将每个HTTP请求都视为一个全新的连接,除了一些全局变量,如SESSION;所以每次用户更改页面时,我的所有PHP类都会再次加载到内存中(每个AJAX请求也会这样做)-每次都需要我从数据库中构建。我是不是弄错了,或者我是想让一个圆适合一个正方形?Memcached似乎是一个很好的解决方案,可以在页面请求之间将我的模型保存在内存中,但它仍然需要加载缓存。PHPCLI似乎很有前途,但在深入研究之后,它似乎比它的值(value)更麻烦。有什么建议吗? 最佳答案

php - 如何从 PHP 使用 HTTP 1.1 持久连接和流水线?

我正在构建一个RESTAPI(使用JSON作为数据编码)。API调用都将是HTTPPOST,我需要能够处理相当大的数量(每秒可能调用1000次或更多)。服务器(我负责)将使用Java实现,但客户端很可能使用PHP。由于请求率很高,我热衷于利用HTTP1.1中的请求流水线,但我不确定是否可以从PHP执行此操作(即PHP是HTTP客户端,不是服务器)。任何人都可以提供有关如何从PHP执行此操作的任何建议吗? 最佳答案 您可以使用pecl_http的HttpRequestPool[1]类并调用未记录的$pool->enablePipeli

一键删除docker-compose镜像和容器

方式1:删除docker下的所有容器和镜像dockerstop$(dockerps-a-q)dockerrm$(dockerps-a-q)dockerrmi$(dockerimages-q)方式2:当发布的时候分成多个 docker-compose.yml文件时,比如有系统支撑的mysql、redis、rabbitmq等的基础脚本docker-base目录,还有springboot分布式架构的docker-eureka、docker-feign、docker-hystrix,如下:[root@localhostdocker]#find.-namedocker-compose.yml./dock

php - 使用 PHPUnit 和半持久数据库进行单元测试

我是单元测试的新手,我正尝试在我正在处理的现有项目中开始使用PHPUnit。我面临的问题是我有很多单元测试需要足够公平的数据库。我已经为单元测试的唯一目的设置了一个SQLite数据库。有时我想为新测试删除并重新创建数据库(我指的是每个单独的类),以防止不必要的数据冲突。但是,如果我在同一个类中有相互依赖的单元测试,有时我不希望这种情况发生;这些可能需要访问在先前测试中保存的数据。我目前正在每个类的setUp()函数中获取一个"new"数据库。我没有预料到的是这个函数(与__construct()一样)会在所述类中的每个测试用例之后运行。有没有一种方法可以让每个测试类都刷新数据库?还是我

php - 在 Docker 上重启 apache

我正在尝试更新Docker容器上的.htaccess文件。更新文件后,我需要重新启动Apache。每当我尝试重新启动Apache时:使用命令serviceapache2restart我都会收到以下错误:(98)Addressalreadyinuse:make_sock:couldnotbindtoaddress0.0.0.0:80nolisteningsocketsavailable,shuttingdownUnabletoopenlogsAction'start'failed.TheApacheerrorlogmayhavemoreinformation....fail!当我看到错误